//
//  NotificationKey.swift
//  Documentation
//
//  Created by Toj on 11/7/22.
//


// MARK: - UITextField
public class let textDidBeginEditingNotification: NSNotification.Name
public class let textDidEndEditingNotification: NSNotification.Name
public class let textDidChangeNotification: NSNotification.Name


// MARK: - 键盘
1: UIKeyboardWillShowNotification 即将显示
2: UIKeyboardDidShowNotification 显示完毕
3: UIKeyboardWillHideNotification 即将隐藏
4: UIKeyboardDidHideNotification 隐藏完毕
5: UIKeyboardWillChangeFrameNotification 位置尺寸即将发生改变
6: UIKeyboardDidChangeFrameNotification 位置尺寸改变完毕

// MARK: 键盘Info内Key
// 系统发出键盘通知时,会附带一下跟键盘有关的额外信息(字典),字典常见的key如下:
1: UIKeyboardFrameBeginUserInfoKey 键盘刚开始的frame
2: UIKeyboardFrameEndUserInfoKey 键盘最终的frame(动画执行完毕后)
3: UIKeyboardAnimationDurationUserInfoKey 键盘动画的时间
4: UIKeyboardAnimationCurveUserInfoKey 键盘动画的执行节奏(快慢)

// MARK: - 窗口
1、UIWindowDidBecomeVisibleNotification 窗口可见
2、UIWindowDidBecomeHiddenNotification 窗口隐藏
3、UIWindowDidBecomeKeyNotification
4、UIWindowDidResignKeyNotification

// MARK: - 程序消息
1、UIApplicationDidEnterBackgroundNotification 已经进入后台
2、UIApplicationWillEnterForegroundNotification 将要进入前台
3、UIApplicationDidFinishLaunchingNotification 已经加载完成
4、UIApplicationDidBecomeActiveNotification 已经激活
5、UIApplicationWillResignActiveNotification 将要激活
6、UIApplicationDidReceiveMemoryWarningNotification 内存警告
7、UIApplicationWillTerminateNotification 将要终止

8、UIApplicationSignificantTimeChangeNotification 当系统时间发生改变时（新的一天开始或时区变化）

9、UIApplicationWillChangeStatusBarOrientationNotification 将要改变状态栏方向
10、UIApplicationDidChangeStatusBarOrientationNotification 已经改变 状态栏方向
UIApplicationStatusBarOrientationUserInfoKey
11、UIApplicationWillChangeStatusBarFrameNotification 将要改变状态栏frame
12、UIApplicationDidChangeStatusBarFrameNotification 状态栏frame改变
UIApplicationStatusBarFrameUserInfoKey

13、UIApplicationBackgroundRefreshStatusDidChangeNotification 后台下载状态发生改变时通知
14、UIApplicationProtectedDataWillBecomeUnavailable 设备锁屏
15、UIApplicationProtectedDataDidBecomeAvailable 设备解锁
16、UIApplicationUserDidTakeScreenshotNotification 设备截屏

// MARK: - 电池、方向、传感器
1、UIDeviceOrientationDidChangeNotification 方向
2、UIDeviceBatteryStateDidChangeNotification 电池状态
3、UIDeviceBatteryLevelDidChangeNotification 电池电量
4、UIDeviceProximityStateDidChangeNotification 近距离传感器(比如设备贴近了使用者的脸部)

// MARK: - 音视频
1、MPMediaLibraryDidChangeNotification
2、MPMusicPlayerControllerPlaybackStateDidChangeNotification
3、MPMusicPlayerControllerNowPlayingItemDidChangeNotification
4、MPMusicPlayerControllerVolumeDidChangeNotification

// MARK: - 偏好设置
// 更多请参阅: https://www.jianshu.com/p/e2cab681bcd7?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
1、NSUserDefaultsSizeLimitExceededNotification 当用户默认数据中存储更多数据时发布
2、NSUbiquitousUserDefaultsNoCloudAccountNotification 当设置了云默认时，但没有登录iCloud用户发布
3、NSUbiquitousUserDefaultsDidChangeAccountsNotification 当用户更改主iCloud帐户时发布
4、NSUbiquitousUserDefaultsCompletedInitialSyncNotification 主线程发布，默认完成下载数据，无论是第一次设备连接到一个iCloud帐户，或当用户切换他们的主要iCloud帐户
5、NSUserDefaultsDidChangeNotification 在当前进程中更改用户默认值时发布

// MARK: - 其他
1、NSCurrentLocaleDidChangeNotification 本地化语言变化
